#ifndef _OPENGLAPPFRAMEWORK_PLUGIN_ACTIONSPLUGIN_H_
#define _OPENGLAPPFRAMEWORK_PLUGIN_ACTIONSPLUGIN_H_

#include "OpenglAppFramework/inc/PlugIn/PlugIn.h"
#include "OpenglAppFramework/inc/Actions.h"
#include <string>

typedef Actions* (*GetActionsFunction)();

class ActionsPlugIn : public PlugIn {
public:
    ActionsPlugIn(const std::string& name);
    ~ActionsPlugIn();

    int setConfigData(const nlohmann::json& data);
    int init();
    void destroy();
    void routine();

private:
    Actions* m_actions;
};

#endif//_OPENGLAPPFRAMEWORK_PLUGIN_ACTIONSPLUGIN_H_
